package util.lang;

public class RefValue<T> {
	private T value;

	public T getValue() {
		return value;
	}

	public void setValue(T value) {
		this.value = value;
	}

	@Override
	public boolean equals(Object obj) {
		return value.equals(obj);
	}

	@Override
	public int hashCode() {
		return value.hashCode();
	}

	@Override
	public String toString() {
		return value.toString();
	}

	public static <TValue> RefValue<TValue> valueOf(TValue value)
	{
		RefValue<TValue> ref = new RefValue<TValue>();
		ref.setValue(value);
		return ref;
	}
}

